You're not currently signed in. Sign in »

Numerical Analysis (CS 450) Spring 2023

What Where
Time/place Tue/Thu 11:00am--12:15pm [1404 Siebel Center]
Class URL https://relate.cs.illinois.edu/cs450-s23
Class recordings https://mediaspace.illinois.edu/channel/channelid/282630042
Web forum https://campuswire.com/p/GB648CA0C (see lecture 1 recording or email instructor for join code)

Course Outline

  • Chapter 1: Scientific Computing
    • Notes (Michael T. Heath)
    • Lecture Notes
        </li>
        <li data-jstree='{"icon": "fa fa-check-circle"}'>
          <a href="flow:inclass-fp">In-class Activity: Cancellation in Standard Deviation Computation</a>
        </li>
        <li data-jstree='{"icon": "fa fa-check-circle"}'>
          <a href="flow:quiz-1">Quiz 1: Policies</a>
        </li>
        <li data-jstree='{"icon": "fa fa-check-circle"}'>
          <a href="flow:quiz-2">Quiz 2: Error, Conditioning, and Floating Point</a>
        </li>
        <li data-jstree='{"icon": "fa fa-check-circle"}'>
          <a href="flow:quiz-3">Quiz 3: Floating Point Arithmetic, and Vector Norms</a>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Catastrophic Cancellation.html">Demo: Catastrophic Cancellation</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Catastrophic Cancellation.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Catastrophic Cancellation.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Catastrophic Cancellation.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Conditioning of Evaluating tan.html">Demo: Conditioning of Evaluating tan</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Conditioning of Evaluating tan.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Conditioning of Evaluating tan.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Conditioning of Evaluating tan.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Density of Floating Point Numbers.html">Demo: Density of Floating Point Numbers</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Density of Floating Point Numbers.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Density of Floating Point Numbers.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Density of Floating Point Numbers.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Floating Point and the Series for the Exponential Function.html">Demo: Floating Point and the Series for the Exponential Function</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point and the Series for the Exponential Function.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point and the Series for the Exponential Function.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point and the Series for the Exponential Function.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Floating Point vs Program Logic.html">Demo: Floating Point vs Program Logic</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point vs Program Logic.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point vs Program Logic.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating Point vs Program Logic.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Floating point and the Harmonic Series.html">Demo: Floating point and the Harmonic Series</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating point and the Harmonic Series.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating point and the Harmonic Series.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Floating point and the Harmonic Series.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Picking apart a floating point number.html">Demo: Picking apart a floating point number</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Picking apart a floating point number.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Picking apart a floating point number.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Picking apart a floating point number.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Polynomial Evaluation Floating Point.html">Demo: Polynomial Evaluation Floating Point</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Polynomial Evaluation Floating Point.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Polynomial Evaluation Floating Point.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Polynomial Evaluation Floating Point.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Truncation vs Rounding.html">Demo: Truncation vs Rounding</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Truncation vs Rounding.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Truncation vs Rounding.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Truncation vs Rounding.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
        <li data-jstree='{"icon": "bi bi-keyboard"}'>
          <a href="repo:demos/upload/01-error-and-fp/Vector Norms.html">Demo: Vector Norms</a>
          <ul>
            <li data-jstree='{"icon": "bi bi-newspaper"}'>
              <a href="repo:demos/upload/01-error-and-fp/Vector Norms.html">View on the web</a>
            </li>
            <li data-jstree='{"icon": "bi bi-terminal"}'>
              <a href="repo:demos/upload/01-error-and-fp/Vector Norms.py">Download Python script</a>
            </li>
            <li data-jstree='{"icon": "bi bi-download"}'>
              <a href="repo:demos/upload/01-error-and-fp/Vector Norms.ipynb">Download Jupyter notebook</a>
            </li>
          </ul>
        </li>
      </ul>
      

    • Chapter 2: Systems of Linear Equations
      • Notes (Michael T. Heath)
      •   <li data-jstree='{"icon": "fa fa-book"}'>
            <a href="repocur:lectures/02-lecture.pdf">Lecture Notes</a>
            <ul>
              <li data-jstree='{"icon": "fa fa-book"}'>
                <a href="repocur:lectures/02-lecture-unfilled.pdf">Lecture notes write-in template</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:quiz-4">Quiz 4: Matrix Norms, Condition Number and, Conditioning of Linear Systems</a>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:quiz-5">Quiz 5: Solving Linear Systems</a>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:quiz-6">Quiz 6: LU decomposition and Partial Pivoting</a>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:inclass-svdnorm">In-class Activity: Singular Value Decomposition and Norms</a>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:inclass-fwsubst">In-class Activity: Forward Substitution</a>
          </li>
          <li data-jstree='{"icon": "fa fa-check-circle"}'>
            <a href="flow:inclass-sherman-morrison-woodbury">In-class Activity: Sherman-Morrison-Woodbury Formula</a>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Coding back-substitution.html">Demo: Coding back-substitution</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Coding back-substitution.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Coding back-substitution.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Coding back-substitution.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Complexity of Mat-Mat multiplication and LU.html">Demo: Complexity of Mat-Mat multiplication and LU</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Complexity of Mat-Mat multiplication and LU.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Complexity of Mat-Mat multiplication and LU.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Complexity of Mat-Mat multiplication and LU.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Condition number visualized.html">Demo: Condition number visualized</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Condition number visualized.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Condition number visualized.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Condition number visualized.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Conditioning of 2x2 Matrices.html">Demo: Conditioning of 2x2 Matrices</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Conditioning of 2x2 Matrices.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Conditioning of 2x2 Matrices.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Conditioning of 2x2 Matrices.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Elimination Matrices I.html">Demo: Elimination Matrices I</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices I.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices I.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices I.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Elimination Matrices II.html">Demo: Elimination Matrices II</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices II.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices II.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Elimination Matrices II.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/LU factorization.html">Demo: LU factorization</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/LU factorization.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/LU factorization.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/LU factorization.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/LU with Partial Pivoting.html">Demo: LU with Partial Pivoting</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/LU with Partial Pivoting.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/LU with Partial Pivoting.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/LU with Partial Pivoting.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Matrix norms.html">Demo: Matrix norms</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Matrix norms.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Matrix norms.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Matrix norms.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Sherman-Morrison.html">Demo: Sherman-Morrison</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Sherman-Morrison.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Sherman-Morrison.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Sherman-Morrison.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
          <li data-jstree='{"icon": "bi bi-keyboard"}'>
            <a href="repo:demos/upload/02-linear-systems/Vanilla Gaussian Elimination.html">Demo: Vanilla Gaussian Elimination</a>
            <ul>
              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                <a href="repo:demos/upload/02-linear-systems/Vanilla Gaussian Elimination.html">View on the web</a>
              </li>
              <li data-jstree='{"icon": "bi bi-terminal"}'>
                <a href="repo:demos/upload/02-linear-systems/Vanilla Gaussian Elimination.py">Download Python script</a>
              </li>
              <li data-jstree='{"icon": "bi bi-download"}'>
                <a href="repo:demos/upload/02-linear-systems/Vanilla Gaussian Elimination.ipynb">Download Jupyter notebook</a>
              </li>
            </ul>
          </li>
        </ul>
        

      • Chapter 3: Linear Least Squares
        • Notes (Michael T. Heath)
        •   <li data-jstree='{"icon": "fa fa-book"}'>
              <a href="repocur:lectures/03-lecture.pdf">Lecture Notes</a>
              <ul>
                <li data-jstree='{"icon": "fa fa-book"}'>
                  <a href="repocur:lectures/03-lecture-unfilled.pdf">Lecture notes write-in template</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "fa fa-check-circle"}'>
              <a href="flow:quiz-7">Quiz 7: Solving Linear Least Squares Problems</a>
            </li>
            <li data-jstree='{"icon": "fa fa-check-circle"}'>
              <a href="flow:quiz-8">Quiz 8: QR Factorization</a>
            </li>
            <li data-jstree='{"icon": "fa fa-check-circle"}'>
              <a href="flow:quiz-9">Quiz 9: Givens QR and Rank-Deficient Least-Squares</a>
            </li>
            <li data-jstree='{"icon": "fa fa-check-circle"}'>
              <a href="flow:inclass-svd-solve">In-class Activity: Solving the Normal Equations using a Singular Value Decomposition</a>
            </li>
            <li data-jstree='{"icon": "fa fa-check-circle"}'>
              <a href="flow:inclass-householder">In-class Activity: Householder QR</a>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/3x3 Givens demo.html">Demo: 3x3 Givens demo</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Givens demo.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Givens demo.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Givens demo.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/3x3 Householder demo.html">Demo: 3x3 Householder demo</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Householder demo.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Householder demo.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/3x3 Householder demo.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Gram-Schmidt and Modified Gram-Schmidt.html">Demo: Gram-Schmidt and Modified Gram-Schmidt</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt and Modified Gram-Schmidt.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt and Modified Gram-Schmidt.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt and Modified Gram-Schmidt.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Gram-Schmidt--The Movie.html">Demo: Gram-Schmidt--The Movie</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt--The Movie.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt--The Movie.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Gram-Schmidt--The Movie.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Image compression.html">Demo: Image compression</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Image compression.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Image compression.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Image compression.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Interactive Polynomial Fit.html">Demo: Interactive Polynomial Fit</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Interactive Polynomial Fit.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Interactive Polynomial Fit.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Interactive Polynomial Fit.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Issues with the normal equations.html">Demo: Issues with the normal equations</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Issues with the normal equations.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Issues with the normal equations.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Issues with the normal equations.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Keeping track of coefficients in Gram-Schmidt.html">Demo: Keeping track of coefficients in Gram-Schmidt</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Keeping track of coefficients in Gram-Schmidt.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Keeping track of coefficients in Gram-Schmidt.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Keeping track of coefficients in Gram-Schmidt.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Normal equations vs Pseudoinverse.html">Demo: Normal equations vs Pseudoinverse</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Normal equations vs Pseudoinverse.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Normal equations vs Pseudoinverse.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Normal equations vs Pseudoinverse.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Polynomial fitting with the normal equations.html">Demo: Polynomial fitting with the normal equations</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Polynomial fitting with the normal equations.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Polynomial fitting with the normal equations.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Polynomial fitting with the normal equations.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
            <li data-jstree='{"icon": "bi bi-keyboard"}'>
              <a href="repo:demos/upload/03-least-squares/Relative cost of matrix factorizations.html">Demo: Relative cost of matrix factorizations</a>
              <ul>
                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                  <a href="repo:demos/upload/03-least-squares/Relative cost of matrix factorizations.html">View on the web</a>
                </li>
                <li data-jstree='{"icon": "bi bi-terminal"}'>
                  <a href="repo:demos/upload/03-least-squares/Relative cost of matrix factorizations.py">Download Python script</a>
                </li>
                <li data-jstree='{"icon": "bi bi-download"}'>
                  <a href="repo:demos/upload/03-least-squares/Relative cost of matrix factorizations.ipynb">Download Jupyter notebook</a>
                </li>
              </ul>
            </li>
          </ul>
          

        • Chapter 4: Eigenvalue Problems
          • Notes (Michael T. Heath)
          •   <li data-jstree='{"icon": "fa fa-book"}'>
                <a href="repocur:lectures/04-lecture.pdf">Lecture Notes</a>
                <ul>
                  <li data-jstree='{"icon": "fa fa-book"}'>
                    <a href="repocur:lectures/04-lecture-unfilled.pdf">Lecture notes write-in template</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:quiz-10">Quiz 10: Eigenvalues, Conditioning, and Power Iteration</a>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:quiz-11">Quiz 11: Eigenvalue Problems and Iterative Algorithms</a>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:quiz-12">Quiz 12: Computing Many Eigenpairs at Once</a>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:inclass-tri-eig">In-class Activity: Calculating Eigenpairs from a Schur Form</a>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:inclass-rayleigh">In-class Activity: Rayleigh Quotient Iteration</a>
              </li>
              <li data-jstree='{"icon": "fa fa-check-circle"}'>
                <a href="flow:inclass-ritz">In-class Activity: Computing the Maximum Ritz Value</a>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration with Complex Eigenvalues.html">Demo: Arnoldi Iteration with Complex Eigenvalues</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration with Complex Eigenvalues.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration with Complex Eigenvalues.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration with Complex Eigenvalues.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration.html">Demo: Arnoldi Iteration</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi Iteration.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Arnoldi vs Power Iteration.html">Demo: Arnoldi vs Power Iteration</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi vs Power Iteration.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi vs Power Iteration.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Arnoldi vs Power Iteration.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Exploring the Numerical Range.html">Demo: Exploring the Numerical Range</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Exploring the Numerical Range.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Exploring the Numerical Range.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Exploring the Numerical Range.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Householder Similarity Transforms.html">Demo: Householder Similarity Transforms</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Householder Similarity Transforms.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Householder Similarity Transforms.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Householder Similarity Transforms.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Orthogonal Iteration.html">Demo: Orthogonal Iteration</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Orthogonal Iteration.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Orthogonal Iteration.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Orthogonal Iteration.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Power iteration and its Variants.html">Demo: Power iteration and its Variants</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Power iteration and its Variants.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Power iteration and its Variants.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Power iteration and its Variants.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                <a href="repo:demos/upload/04-eigenvalues/Rounding in characteristic polynomial using SymPy.html">Demo: Rounding in characteristic polynomial using SymPy</a>
                <ul>
                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Rounding in characteristic polynomial using SymPy.html">View on the web</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Rounding in characteristic polynomial using SymPy.py">Download Python script</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-download"}'>
                    <a href="repo:demos/upload/04-eigenvalues/Rounding in characteristic polynomial using SymPy.ipynb">Download Jupyter notebook</a>
                  </li>
                </ul>
              </li>
            </ul>
            

          • Chapter 5: Nonlinear Equations
            • Notes (Michael T. Heath)
            •   <li data-jstree='{"icon": "fa fa-book"}'>
                  <a href="repocur:lectures/05-lecture.pdf">Lecture Notes</a>
                  <ul>
                    <li data-jstree='{"icon": "fa fa-book"}'>
                      <a href="repocur:lectures/05-lecture-unfilled.pdf">Lecture notes write-in template</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "fa fa-check-circle"}'>
                  <a href="flow:quiz-13">Quiz 13: Nonlinear Equations</a>
                </li>
                <li data-jstree='{"icon": "fa fa-check-circle"}'>
                  <a href="flow:quiz-14">Quiz 14: Solving Nonlinear Equations</a>
                </li>
                <li data-jstree='{"icon": "fa fa-check-circle"}'>
                  <a href="flow:inclass-newton-2-by-2">In-class Activity: Newton's Method for 2-by-2 System of Equations</a>
                </li>
                <li data-jstree='{"icon": "fa fa-check-circle"}'>
                  <a href="flow:inclass-inv-quad-interp">In-class Activity: Inverse Quadratic Interpolation</a>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Bisection Method.html">Demo: Bisection Method</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Bisection Method.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Bisection Method.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Bisection Method.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Convergence of Newton's Method.html">Demo: Convergence of Newton's Method</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of Newton's Method.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of Newton's Method.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of Newton's Method.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Convergence of the Secant Method.html">Demo: Convergence of the Secant Method</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of the Secant Method.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of the Secant Method.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Convergence of the Secant Method.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Fixed point iteration.html">Demo: Fixed point iteration</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Fixed point iteration.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Fixed point iteration.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Fixed point iteration.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Newton's Method.html">Demo: Newton's Method</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's Method.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's Method.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's Method.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Newton's method in n dimensions.html">Demo: Newton's method in n dimensions</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's method in n dimensions.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's method in n dimensions.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Newton's method in n dimensions.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Rates of Convergence.html">Demo: Rates of Convergence</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Rates of Convergence.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Rates of Convergence.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Rates of Convergence.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Secant Method.html">Demo: Secant Method</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Secant Method.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Secant Method.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Secant Method.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
                <li data-jstree='{"icon": "bi bi-keyboard"}'>
                  <a href="repo:demos/upload/05-nonlinear-equations/Three quadratic functions.html">Demo: Three quadratic functions</a>
                  <ul>
                    <li data-jstree='{"icon": "bi bi-newspaper"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Three quadratic functions.html">View on the web</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-terminal"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Three quadratic functions.py">Download Python script</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-download"}'>
                      <a href="repo:demos/upload/05-nonlinear-equations/Three quadratic functions.ipynb">Download Jupyter notebook</a>
                    </li>
                  </ul>
                </li>
              </ul>
              

            • Chapter 6: Optimization
              • Notes (Michael T. Heath)
              •   <li data-jstree='{"icon": "fa fa-book"}'>
                    <a href="repocur:lectures/06-lecture.pdf">Lecture Notes</a>
                    <ul>
                      <li data-jstree='{"icon": "fa fa-book"}'>
                        <a href="repocur:lectures/06-lecture-unfilled.pdf">Lecture notes write-in template</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "fa fa-check-circle"}'>
                    <a href="flow:quiz-15">Quiz 15: Nonlinear Optimization</a>
                  </li>
                  <li data-jstree='{"icon": "fa fa-check-circle"}'>
                    <a href="flow:quiz-16">Quiz 16: Optimization Methods</a>
                  </li>
                  <li data-jstree='{"icon": "fa fa-check-circle"}'>
                    <a href="flow:quiz-17">Quiz 17: Constrained Optimization and Interpolation</a>
                  </li>
                  <li data-jstree='{"icon": "fa fa-check-circle"}'>
                    <a href="flow:inclass-golden-section">In-class Activity: Golden Section Search</a>
                  </li>
                  <li data-jstree='{"icon": "fa fa-check-circle"}'>
                    <a href="flow:inclass-gauss-newton">In-class Activity: Gauss-Newton Method</a>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Conjugate Gradient Method.html">Demo: Conjugate Gradient Method</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Method.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Method.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Method.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Conjugate Gradient Parallel Tangents as Krylov Subspace Method.html">Demo: Conjugate Gradient Parallel Tangents as Krylov Subspace Method</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Parallel Tangents as Krylov Subspace Method.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Parallel Tangents as Krylov Subspace Method.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Conjugate Gradient Parallel Tangents as Krylov Subspace Method.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Gauss-Newton.html">Demo: Gauss-Newton</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Gauss-Newton.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Gauss-Newton.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Gauss-Newton.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Golden Section Proportions.html">Demo: Golden Section Proportions</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Golden Section Proportions.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Golden Section Proportions.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Golden Section Proportions.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Nelder-Mead Method.html">Demo: Nelder-Mead Method</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Nelder-Mead Method.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Nelder-Mead Method.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Nelder-Mead Method.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Newton's Method in 1D.html">Demo: Newton's Method in 1D</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in 1D.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in 1D.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in 1D.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Newton's Method in n dimensions.html">Demo: Newton's Method in n dimensions</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in n dimensions.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in n dimensions.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Newton's Method in n dimensions.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Sequential Quadratic Programming.html">Demo: Sequential Quadratic Programming</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Sequential Quadratic Programming.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Sequential Quadratic Programming.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Sequential Quadratic Programming.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                  <li data-jstree='{"icon": "bi bi-keyboard"}'>
                    <a href="repo:demos/upload/06-optimization/Steepest Descent.html">Demo: Steepest Descent</a>
                    <ul>
                      <li data-jstree='{"icon": "bi bi-newspaper"}'>
                        <a href="repo:demos/upload/06-optimization/Steepest Descent.html">View on the web</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-terminal"}'>
                        <a href="repo:demos/upload/06-optimization/Steepest Descent.py">Download Python script</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-download"}'>
                        <a href="repo:demos/upload/06-optimization/Steepest Descent.ipynb">Download Jupyter notebook</a>
                      </li>
                    </ul>
                  </li>
                </ul>
                

              • Chapter 7: Interpolation
                • Notes (Michael T. Heath)
                •   <li data-jstree='{"icon": "fa fa-book"}'>
                      <a href="repocur:lectures/07-lecture.pdf">Lecture Notes</a>
                      <ul>
                        <li data-jstree='{"icon": "fa fa-book"}'>
                          <a href="repocur:lectures/07-lecture-unfilled.pdf">Lecture notes write-in template</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "fa fa-check-circle"}'>
                      <a href="flow:quiz-18">Quiz 18: Interpolation</a>
                    </li>
                    <li data-jstree='{"icon": "fa fa-check-circle"}'>
                      <a href="flow:inclass-interpolation-monomial">In-class Activity: Interpolation in Monomial Basis</a>
                    </li>
                    <li data-jstree='{"icon": "fa fa-check-circle"}'>
                      <a href="flow:inclass-chebyshev">In-class Activity: Chebyshev Interpolation</a>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Chebyshev interpolation.html">Demo: Chebyshev interpolation</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Chebyshev interpolation.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Chebyshev interpolation.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Chebyshev interpolation.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Choice of Nodes for Polynomial Interpolation.html">Demo: Choice of Nodes for Polynomial Interpolation</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Choice of Nodes for Polynomial Interpolation.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Choice of Nodes for Polynomial Interpolation.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Choice of Nodes for Polynomial Interpolation.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Composite Gauss Interpolation Error.html">Demo: Composite Gauss Interpolation Error</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Composite Gauss Interpolation Error.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Composite Gauss Interpolation Error.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Composite Gauss Interpolation Error.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Interpolation Error.html">Demo: Interpolation Error</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation Error.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation Error.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation Error.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Interpolation with Radial Basis Functions.html">Demo: Interpolation with Radial Basis Functions</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation with Radial Basis Functions.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation with Radial Basis Functions.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Interpolation with Radial Basis Functions.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Jump with Chebyshev Nodes.html">Demo: Jump with Chebyshev Nodes</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Jump with Chebyshev Nodes.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Jump with Chebyshev Nodes.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Jump with Chebyshev Nodes.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Monomial interpolation.html">Demo: Monomial interpolation</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Monomial interpolation.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Monomial interpolation.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Monomial interpolation.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                    <li data-jstree='{"icon": "bi bi-keyboard"}'>
                      <a href="repo:demos/upload/07-interpolation/Orthogonal Polynomials.html">Demo: Orthogonal Polynomials</a>
                      <ul>
                        <li data-jstree='{"icon": "bi bi-newspaper"}'>
                          <a href="repo:demos/upload/07-interpolation/Orthogonal Polynomials.html">View on the web</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-terminal"}'>
                          <a href="repo:demos/upload/07-interpolation/Orthogonal Polynomials.py">Download Python script</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-download"}'>
                          <a href="repo:demos/upload/07-interpolation/Orthogonal Polynomials.ipynb">Download Jupyter notebook</a>
                        </li>
                      </ul>
                    </li>
                  </ul>
                  

                • Chapter 8: Numerical Integration and Differentiation
                  • Notes (Michael T. Heath)
                  •   <li data-jstree='{"icon": "fa fa-book"}'>
                        <a href="repocur:lectures/08-lecture.pdf">Lecture Notes</a>
                        <ul>
                          <li data-jstree='{"icon": "fa fa-book"}'>
                            <a href="repocur:lectures/08-lecture-unfilled.pdf">Lecture notes write-in template</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "fa fa-check-circle"}'>
                        <a href="flow:quiz-19">Quiz 19: Quadrature</a>
                      </li>
                      <li data-jstree='{"icon": "fa fa-check-circle"}'>
                        <a href="flow:quiz-20">Quiz 20: Composite Quadrature and Numerical Differentiation</a>
                      </li>
                      <li data-jstree='{"icon": "fa fa-check-circle"}'>
                        <a href="flow:inclass-quadrature-coeff">In-class Activity: Quadrature Rule with an Arbitrary Polynomial Basis</a>
                      </li>
                      <li data-jstree='{"icon": "fa fa-check-circle"}'>
                        <a href="flow:inclass-richardson">In-class Activity: Richardson Extrapolation</a>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Accuracy of Newton-Cotes.html">Demo: Accuracy of Newton-Cotes</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Accuracy of Newton-Cotes.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Accuracy of Newton-Cotes.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Accuracy of Newton-Cotes.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Finite Differences vs Noise.html">Demo: Finite Differences vs Noise</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Finite Differences vs Noise.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Finite Differences vs Noise.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Finite Differences vs Noise.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Floating point vs Finite Differences.html">Demo: Floating point vs Finite Differences</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Floating point vs Finite Differences.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Floating point vs Finite Differences.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Floating point vs Finite Differences.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Gaussian quadrature weight finder.html">Demo: Gaussian quadrature weight finder</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Gaussian quadrature weight finder.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Gaussian quadrature weight finder.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Gaussian quadrature weight finder.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Newton-Cotes weight finder.html">Demo: Newton-Cotes weight finder</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Newton-Cotes weight finder.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Newton-Cotes weight finder.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Newton-Cotes weight finder.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Richardson with Finite Differences.html">Demo: Richardson with Finite Differences</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Richardson with Finite Differences.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Richardson with Finite Differences.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Richardson with Finite Differences.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                      <li data-jstree='{"icon": "bi bi-keyboard"}'>
                        <a href="repo:demos/upload/08-quadrature-and-differentiation/Taking Derivatives with Vandermonde Matrices.html">Demo: Taking Derivatives with Vandermonde Matrices</a>
                        <ul>
                          <li data-jstree='{"icon": "bi bi-newspaper"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Taking Derivatives with Vandermonde Matrices.html">View on the web</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-terminal"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Taking Derivatives with Vandermonde Matrices.py">Download Python script</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-download"}'>
                            <a href="repo:demos/upload/08-quadrature-and-differentiation/Taking Derivatives with Vandermonde Matrices.ipynb">Download Jupyter notebook</a>
                          </li>
                        </ul>
                      </li>
                    </ul>
                    

                  • Chapter 9: Initial Value Problems for ODEs
                    • Notes (Michael T. Heath)
                    •   <li data-jstree='{"icon": "fa fa-book"}'>
                          <a href="repocur:lectures/09-lecture.pdf">Lecture Notes</a>
                          <ul>
                            <li data-jstree='{"icon": "fa fa-book"}'>
                              <a href="repocur:lectures/09-lecture-unfilled.pdf">Lecture notes write-in template</a>
                            </li>
                          </ul>
                        </li>
                        <li data-jstree='{"icon": "fa fa-check-circle"}'>
                          <a href="flow:quiz-21">Quiz 21: Characterization of ODEs and Euler Methods</a>
                        </li>
                        <li data-jstree='{"icon": "fa fa-check-circle"}'>
                          <a href="flow:quiz-22">Quiz 22: Initial Value Problems for Ordinary Differential Equations</a>
                        </li>
                        <li data-jstree='{"icon": "fa fa-check-circle"}'>
                          <a href="flow:inclass-backward-euler">In-class Activity: Backward Euler Method</a>
                        </li>
                        <li data-jstree='{"icon": "fa fa-check-circle"}'>
                          <a href="flow:inclass-diagonally-implicit-rk">In-class Activity: Diagonally Implicit Runge-Kutta</a>
                        </li>
                        <li data-jstree='{"icon": "bi bi-keyboard"}'>
                          <a href="repo:demos/upload/09-initial-value-problems/Backward Euler stability.html">Demo: Backward Euler stability</a>
                          <ul>
                            <li data-jstree='{"icon": "bi bi-newspaper"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Backward Euler stability.html">View on the web</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-terminal"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Backward Euler stability.py">Download Python script</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-download"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Backward Euler stability.ipynb">Download Jupyter notebook</a>
                            </li>
                          </ul>
                        </li>
                        <li data-jstree='{"icon": "bi bi-keyboard"}'>
                          <a href="repo:demos/upload/09-initial-value-problems/Dissipation in Runge-Kutta Methods.html">Demo: Dissipation in Runge-Kutta Methods</a>
                          <ul>
                            <li data-jstree='{"icon": "bi bi-newspaper"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Dissipation in Runge-Kutta Methods.html">View on the web</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-terminal"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Dissipation in Runge-Kutta Methods.py">Download Python script</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-download"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Dissipation in Runge-Kutta Methods.ipynb">Download Jupyter notebook</a>
                            </li>
                          </ul>
                        </li>
                        <li data-jstree='{"icon": "bi bi-keyboard"}'>
                          <a href="repo:demos/upload/09-initial-value-problems/Forward Euler stability.html">Demo: Forward Euler stability</a>
                          <ul>
                            <li data-jstree='{"icon": "bi bi-newspaper"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Forward Euler stability.html">View on the web</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-terminal"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Forward Euler stability.py">Download Python script</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-download"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Forward Euler stability.ipynb">Download Jupyter notebook</a>
                            </li>
                          </ul>
                        </li>
                        <li data-jstree='{"icon": "bi bi-keyboard"}'>
                          <a href="repo:demos/upload/09-initial-value-problems/Stability regions.html">Demo: Stability regions</a>
                          <ul>
                            <li data-jstree='{"icon": "bi bi-newspaper"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stability regions.html">View on the web</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-terminal"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stability regions.py">Download Python script</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-download"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stability regions.ipynb">Download Jupyter notebook</a>
                            </li>
                          </ul>
                        </li>
                        <li data-jstree='{"icon": "bi bi-keyboard"}'>
                          <a href="repo:demos/upload/09-initial-value-problems/Stiffness.html">Demo: Stiffness</a>
                          <ul>
                            <li data-jstree='{"icon": "bi bi-newspaper"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stiffness.html">View on the web</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-terminal"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stiffness.py">Download Python script</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-download"}'>
                              <a href="repo:demos/upload/09-initial-value-problems/Stiffness.ipynb">Download Jupyter notebook</a>
                            </li>
                          </ul>
                        </li>
                      </ul>
                      

                    • Chapter 10: Boundary Value Problems for ODEs
                      • Notes (Michael T. Heath)
                      •   <li data-jstree='{"icon": "fa fa-book"}'>
                            <a href="repocur:lectures/10-lecture.pdf">Lecture Notes</a>
                            <ul>
                              <li data-jstree='{"icon": "fa fa-book"}'>
                                <a href="repocur:lectures/10-lecture-unfilled.pdf">Lecture notes write-in template</a>
                              </li>
                            </ul>
                          </li>
                          <li data-jstree='{"icon": "fa fa-check-circle"}'>
                            <a href="flow:quiz-23">Quiz 23: Methods for Ordinary Differential Equation BVPs</a>
                          </li>
                          <li data-jstree='{"icon": "fa fa-check-circle"}'>
                            <a href="flow:quiz-24">Quiz 24: BVPs and Classification of PDEs</a>
                          </li>
                          <li data-jstree='{"icon": "fa fa-check-circle"}'>
                            <a href="flow:inclass-ode-bvp-poisson">In-class Activity: Solving the 1D Poisson Equation</a>
                          </li>
                          <li data-jstree='{"icon": "bi bi-keyboard"}'>
                            <a href="repo:demos/upload/10-boundary-value-problems/Finite differences.html">Demo: Finite differences</a>
                            <ul>
                              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Finite differences.html">View on the web</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-terminal"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Finite differences.py">Download Python script</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-download"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Finite differences.ipynb">Download Jupyter notebook</a>
                              </li>
                            </ul>
                          </li>
                          <li data-jstree='{"icon": "bi bi-keyboard"}'>
                            <a href="repo:demos/upload/10-boundary-value-problems/Shooting method.html">Demo: Shooting method</a>
                            <ul>
                              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Shooting method.html">View on the web</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-terminal"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Shooting method.py">Download Python script</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-download"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Shooting method.ipynb">Download Jupyter notebook</a>
                              </li>
                            </ul>
                          </li>
                          <li data-jstree='{"icon": "bi bi-keyboard"}'>
                            <a href="repo:demos/upload/10-boundary-value-problems/Sparse matrices.html">Demo: Sparse matrices</a>
                            <ul>
                              <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Sparse matrices.html">View on the web</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-terminal"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Sparse matrices.py">Download Python script</a>
                              </li>
                              <li data-jstree='{"icon": "bi bi-download"}'>
                                <a href="repo:demos/upload/10-boundary-value-problems/Sparse matrices.ipynb">Download Jupyter notebook</a>
                              </li>
                            </ul>
                          </li>
                        </ul>
                        

                      • Chapter 11: Partial Differential Equations
                        • Notes (Michael T. Heath)
                        •   <li data-jstree='{"icon": "fa fa-book"}'>
                              <a href="repocur:lectures/11-lecture.pdf">Lecture Notes</a>
                              <ul>
                                <li data-jstree='{"icon": "fa fa-book"}'>
                                  <a href="repocur:lectures/11-lecture-unfilled.pdf">Lecture notes write-in template</a>
                                </li>
                              </ul>
                            </li>
                            <li data-jstree='{"icon": "fa fa-check-circle"}'>
                              <a href="flow:inclass-pde-laplace">In-class Activity: Setting up a 2D Laplace Linear System</a>
                            </li>
                            <li data-jstree='{"icon": "bi bi-keyboard"}'>
                              <a href="repo:demos/upload/11-sparse-matrices-pdes/Jacobi vs Conjugate Gradient.html">Demo: Jacobi vs Conjugate Gradient</a>
                              <ul>
                                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Jacobi vs Conjugate Gradient.html">View on the web</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-terminal"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Jacobi vs Conjugate Gradient.py">Download Python script</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-download"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Jacobi vs Conjugate Gradient.ipynb">Download Jupyter notebook</a>
                                </li>
                              </ul>
                            </li>
                            <li data-jstree='{"icon": "bi bi-keyboard"}'>
                              <a href="repo:demos/upload/11-sparse-matrices-pdes/Sparse Matrix Factorizations and Fill-In.html">Demo: Sparse Matrix Factorizations and Fill-In</a>
                              <ul>
                                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Sparse Matrix Factorizations and Fill-In.html">View on the web</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-terminal"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Sparse Matrix Factorizations and Fill-In.py">Download Python script</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-download"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Sparse Matrix Factorizations and Fill-In.ipynb">Download Jupyter notebook</a>
                                </li>
                              </ul>
                            </li>
                            <li data-jstree='{"icon": "bi bi-keyboard"}'>
                              <a href="repo:demos/upload/11-sparse-matrices-pdes/Stationary Iterative Methods.html">Demo: Stationary Iterative Methods</a>
                              <ul>
                                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Stationary Iterative Methods.html">View on the web</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-terminal"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Stationary Iterative Methods.py">Download Python script</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-download"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Stationary Iterative Methods.ipynb">Download Jupyter notebook</a>
                                </li>
                              </ul>
                            </li>
                            <li data-jstree='{"icon": "bi bi-keyboard"}'>
                              <a href="repo:demos/upload/11-sparse-matrices-pdes/Time-dependent PDEs.html">Demo: Time-dependent PDEs</a>
                              <ul>
                                <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Time-dependent PDEs.html">View on the web</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-terminal"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Time-dependent PDEs.py">Download Python script</a>
                                </li>
                                <li data-jstree='{"icon": "bi bi-download"}'>
                                  <a href="repo:demos/upload/11-sparse-matrices-pdes/Time-dependent PDEs.ipynb">Download Jupyter notebook</a>
                                </li>
                              </ul>
                            </li>
                          </ul>
                          

                        • Chapter 12: Fast Fourier Transform
                          • Notes (Michael T. Heath)
                          •   <li data-jstree='{"icon": "fa fa-book"}'>
                                <a href="repocur:lectures/12-lecture.pdf">Lecture Notes</a>
                                <ul>
                                  <li data-jstree='{"icon": "fa fa-book"}'>
                                    <a href="repocur:lectures/12-lecture-unfilled.pdf">Lecture notes write-in template</a>
                                  </li>
                                </ul>
                              </li>
                              <li data-jstree='{"icon": "bi bi-keyboard"}'>
                                <a href="repo:demos/upload/12-fft/Fast Fourier Transform.html">Demo: Fast Fourier Transform</a>
                                <ul>
                                  <li data-jstree='{"icon": "bi bi-newspaper"}'>
                                    <a href="repo:demos/upload/12-fft/Fast Fourier Transform.html">View on the web</a>
                                  </li>
                                  <li data-jstree='{"icon": "bi bi-terminal"}'>
                                    <a href="repo:demos/upload/12-fft/Fast Fourier Transform.py">Download Python script</a>
                                  </li>
                                  <li data-jstree='{"icon": "bi bi-download"}'>
                                    <a href="repo:demos/upload/12-fft/Fast Fourier Transform.ipynb">Download Jupyter notebook</a>
                                  </li>
                                </ul>
                              </li>
                            </ul>
                            

                          • Chapter 13: Random Numbers and Simulation

Team

Edgar Solomonik

Edgar Solomonik

(Instructor)

Email: solomon2@illinois.edu

Office: Siebel 4229, Monday 11-12


Lukas Spies

Lukas Spies

(TA)

Email: lspies@illinois.edu

Office: Zoom, Tuesday/Thursday 3-4pm


Patrick Naughton

Patrick Naughton

(TA)

Email: pn10@illinois.edu

Office: Siebel 0207, Thursday 2-3pm, Friday 2-3pm


Navjot Singh

Navjot Singh

(TA)

Email: navjot2@illinois.edu

Office: Siebel 0207, Wednesday 2-3pm, Friday 3-4pm


Statement on CS CARES, Values, and Code of Conduct

All members of the Illinois Computer Science department---faculty, staff, and students---are expected to adhere to the CS Values and Code of Conduct. The CS CARES Committee is available to serve as a resource to help people who are concerned about or experience a potential violation of the Code. If you experience such issues, please contact the CS CARES Committee. The instructor of this course are also available for issues related to this class.

Textbook


Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey / E-Book (accessible free of charge from campus network/VPN)

Michael T. Heath, Revised Second Edition, Society for Industrial and Applied Mathematics

Resource site

Also see our class Piazza forum for a discount code for purchasing the book from SIAM.


Computing

We will be using Python with the libraries numpy, scipy and matplotlib for in-class work and assignments. No other languages are permitted. Python has a very gentle learning curve, so you should feel at home even if you've never done any work in Python.

Running Code on your Own Computer

While running code in this online system should technically suffice to do your work for this class, you may find it useful to also install Python on your own computer.

The recommended and perhaps one of the easier ways of doing so involves downloading the Anaconda Python distribution. Note that this is a commercial product (even if it is free of charge), and this is not intended as an endorsement of the company or the product. Note that we cannot promise to provide technical support for this installation.

Download Anaconda Python »

Another way to obtain a Python installation is through a virtual machine image:

Download Virtual Machine »

Grading Policies

View policies »

Python Help

(see section 1 of the outline for more)

Python workshop material

Numpy Help

(see section 1 of the outline for more)